]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
3 years agomain: Introduce global workspaces adjustment
Georges Basile Stavracas Neto [Thu, 10 Aug 2023 19:49:19 +0000 (16:49 -0300)]
main: Introduce global workspaces adjustment

And a way to derive "sub"-adjustments from the main one.

The main and private StAdjustment properly represents
workspaces, and has all relevant properties (lower, upper,
and value) set by the workspace manager.

The main adjustment is not bound to any particular actor,
which means we cannot call the 'ease' method directly.

Consumers of this API should create adjustments using
Main.createWorkspacesAdjustment(), and this new adjustment
is bound to the actor that the consumer passed. Consumers
must not change any property of the derived adjustment other
than the 'value' property.

The 'value' property is synchronized between all adjustments
created, which guarantees that all elements that represent
workspaces can have a shared and up-to-date understanding of
where in the workspace layout we are.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2881>

3 years agoutil: Export trySpawn()
Dallas Strouse [Fri, 11 Aug 2023 15:20:53 +0000 (15:20 +0000)]
util: Export trySpawn()

It was private before, and so any users of it (including the
Background Apps menu) would fail to utilize it, making apps fail
to get told to shut down from the Background Apps menu.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6893

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2885>

3 years agostatus/backgroundApps: Close after activating app
Florian Müllner [Fri, 11 Aug 2023 09:59:43 +0000 (11:59 +0200)]
status/backgroundApps: Close after activating app

We should leave the overview and close quick settings, like we
do elsewhere when launching something.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6895

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2884>

3 years agoUpdate Galician translation
Fran Dieguez [Fri, 11 Aug 2023 00:35:02 +0000 (00:35 +0000)]
Update Galician translation

3 years agoBump version to 45.beta.1
Carlos Garnacho [Thu, 10 Aug 2023 22:02:10 +0000 (00:02 +0200)]
Bump version to 45.beta.1

Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2882>

3 years agojs: Port Config to ESM
Florian Müllner [Mon, 7 Aug 2023 15:30:22 +0000 (17:30 +0200)]
js: Port Config to ESM

The Config module is shared between the main process, D-Bus
services and tests, which previously prevented it from being
ported to ESM.

The previous commit removed the last outstanding blocker, so
we can now port the last remaining module.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2880>

3 years agotests/unit: Access shell sources from resource
Florian Müllner [Thu, 10 Aug 2023 15:50:08 +0000 (17:50 +0200)]
tests/unit: Access shell sources from resource

Unit tests currently load shell sources directly from the
filesystem.

This is currently blocking generated sources - namely config.js - to
ESM, because a relative import from the source dir will fail to
locate the file in the build dir.

Address this by using the same GResource as gnome-shell instead of
direct filesystem access, as the resource will always include all
sources files at the expected location.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2880>

3 years agoextensionBase: Fix issue in lookupByURL()
Andrew Zaech [Wed, 9 Aug 2023 18:07:43 +0000 (18:07 +0000)]
extensionBase: Fix issue in lookupByURL()

The lookupByUUID() implementations in the subtypes return null
when the lookup failed, not undefined.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2879>

3 years agonotificationDaemon: Export notification source classes
Andy Holmes [Mon, 7 Aug 2023 18:48:45 +0000 (11:48 -0700)]
notificationDaemon: Export notification source classes

Out of the members of the notification daemon(s), these are the most
necessary and flexible to override. The daemons are used as singletons
and notifications are rather temporary, while the sources are more
flexible and make the most sense to override (and revert).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2869>

3 years agomain: Don't try to translate the empty string
Florian Müllner [Tue, 8 Aug 2023 17:09:49 +0000 (19:09 +0200)]
main: Don't try to translate the empty string

It's pointless in the best case, and may result in bugs.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2878>

3 years agoscreenshot: Export showScreen*UI() functions
Florian Müllner [Wed, 9 Aug 2023 14:24:07 +0000 (16:24 +0200)]
screenshot: Export showScreen*UI() functions

showScreenshotUI() is needed by the system action, and
showScreenRecordingUI() is conceptually so similar that
it would be odd to export one and not the other.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6885

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2877>

3 years agolint: Remove legacy config
Florian Müllner [Mon, 7 Aug 2023 01:27:37 +0000 (03:27 +0200)]
lint: Remove legacy config

It is now empty and unused.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2866>

3 years agoci: Simplify run-eslint script
Florian Müllner [Mon, 7 Aug 2023 01:26:04 +0000 (03:26 +0200)]
ci: Simplify run-eslint script

Now that all code conforms with the new style, we can remove all
the tricky bits that compare errors from regular- and legacy
config or limit checks to changed lines from a git diff.

All that is left over the eslint CLI tool is the ability to output
results both as junit for gitlab and plain text for logs without
duplicating the linting, but that's well worth preserving.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2866>

3 years agoci: Remove eslint_mr job
Florian Müllner [Mon, 7 Aug 2023 01:24:35 +0000 (03:24 +0200)]
ci: Remove eslint_mr job

There is no longer a difference between regular- and legacy config.
That means that all code now follows the regular configuration, and
we no longer need a separate check that enforces this for new code.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2866>

3 years agocleanup: Fixup wrong JSDoc comments
Florian Müllner [Mon, 7 Aug 2023 01:15:51 +0000 (03:15 +0200)]
cleanup: Fixup wrong JSDoc comments

There are a handful of JSDoc comments that are invalid or don't
conform to the configured format. Fix them to remove the last
remaining bit of legacy configuration.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2866>

3 years agocleanup: Use type-safe comparisons
Florian Müllner [Mon, 7 Aug 2023 00:51:19 +0000 (02:51 +0200)]
cleanup: Use type-safe comparisons

We have been using type-safe comparisons in new code for quite a while
now, however old code has only been adapted slowly.

Change all the remaining bits to get rid of another legacy style
difference.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2866>

3 years agocleanup: Use consistent 4-space indent
Florian Müllner [Sun, 6 Aug 2023 23:45:22 +0000 (01:45 +0200)]
cleanup: Use consistent 4-space indent

This is another bit where we've made good progress, and just need
a final push to complete the transition.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2866>

3 years agocleanup: Remove spaces in object literals
Florian Müllner [Sun, 6 Aug 2023 22:40:20 +0000 (00:40 +0200)]
cleanup: Remove spaces in object literals

We only adopted this style relatively recently, so there's a bit
more to adjust. Still, it's manageable and another step towards
getting rid of the legacy style.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2866>

3 years agocleanup: Always use single quotes
Florian Müllner [Sun, 6 Aug 2023 22:34:20 +0000 (00:34 +0200)]
cleanup: Always use single quotes

We have made good progress with transitioning to the new style,
to the point where we can complete it with a final push.

Start with changing the remaining places that still use double
quotes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2866>

3 years agoUpdate Indonesian translation
Kukuh Syafaat [Wed, 9 Aug 2023 13:34:44 +0000 (13:34 +0000)]
Update Indonesian translation

3 years agost: Mass update to ClutterActorClass event vmethod changes
Carlos Garnacho [Tue, 8 Aug 2023 22:26:52 +0000 (00:26 +0200)]
st: Mass update to ClutterActorClass event vmethod changes

These are now forwarded as ClutterEvent in order to remain accessible
on the Javascript side. This also means all ClutterActor implementations
in ST need to update to this change.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2872>

3 years agojs: Avoid Clutter.get_current_event() in Clutter.Actor event vfuncs
Carlos Garnacho [Tue, 8 Aug 2023 16:22:11 +0000 (18:22 +0200)]
js: Avoid Clutter.get_current_event() in Clutter.Actor event vfuncs

We sometimes obtained the current event through the general machinery
just so we could pass it along as a ClutterEvent instead of a specialized
subtype.

We now get that out of the box, so may avoid getting the current event
which is just a cast of the same current event we already have.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2872>

3 years agojs: Mass move to Clutter.Event getter methods in Clutter.Actor vfuncs
Carlos Garnacho [Tue, 8 Aug 2023 16:14:04 +0000 (18:14 +0200)]
js: Mass move to Clutter.Event getter methods in Clutter.Actor vfuncs

These traditionally got the various ClutterEvent subtype structs as their
argument, so it was not allowed to use ClutterEvent generic getter methods
in these vfuncs. These methods used direct access to struct fields instead.

This got spoiled with the move to make ClutterEvent opaque types, since
these are no longer public structs so GNOME Shell most silently failed to
fetch the expected values from event fields. But since they are not
ClutterEvents either, the getters could not be used on them.

Mutter is changing so that these vmethods all contain an alias to the
one and only Clutter.Event type, thus lifting those barriers, and making
it possible to use the ClutterEvent methods in these vfuncs.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2950
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2872>

3 years agoinputMethod: Check that there is an existing cursor location
Carlos Garnacho [Wed, 9 Aug 2023 09:47:28 +0000 (11:47 +0200)]
inputMethod: Check that there is an existing cursor location

Commit 17d9ec5788fb made the input method call update() more eagerly,
but also at times that it does not have a cursor position yet. Make
it bail out correctly in that situation.

Fixes: 17d9ec5788fb ("inputMethod: Keep Capabilite.FOCUS before context.focus_in/focus_out")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2876>

3 years agoui/slider: Handle emulated scroll events through the Clutter.EventFlags
Carlos Garnacho [Tue, 8 Aug 2023 14:10:39 +0000 (16:10 +0200)]
ui/slider: Handle emulated scroll events through the Clutter.EventFlags

Emulated scroll events no longer get event.is_pointer_emulated() set to
True, instead this information is propagated through the Clutter.EventFlags
of the event.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2871>

3 years agost: Handle emulated scroll events through the ClutterEventFlag
Carlos Garnacho [Tue, 8 Aug 2023 14:08:36 +0000 (16:08 +0200)]
st: Handle emulated scroll events through the ClutterEventFlag

Emulated scroll events no longer get clutter_event_is_pointer_emulated()
set to TRUE, instead this information is propagated through the
ClutterEventFlags of the event.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2871>

3 years agoUpdate Polish translation
Piotr Drąg [Tue, 8 Aug 2023 16:45:01 +0000 (18:45 +0200)]
Update Polish translation

3 years agoBump version to 45.beta
Florian Müllner [Mon, 7 Aug 2023 14:36:57 +0000 (16:36 +0200)]
Bump version to 45.beta

Update NEWS.

3 years agoinputMethod: Keep Capabilite.FOCUS before context.focus_in/focus_out
Takao Fujiwara [Wed, 1 Mar 2023 14:42:18 +0000 (23:42 +0900)]
inputMethod: Keep Capabilite.FOCUS before context.focus_in/focus_out

If context.focus_out() is called *after* context.set_capabilities(0),
The FocusOut D-Bus method is ignored because of no FOCUS capability.
If context.focus_out() is called *before* context.set_capabilities(0),
The 0 capability is set to the next focused context and the
FocusIn D-Bus method is ignored because of no FOCUS capability.
So context.set_capabilities(0) should not be called.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6415
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2666>

3 years agoinputMethod: Try to connect require-surrounding-text signal
Takao Fujiwara [Fri, 3 Mar 2023 08:50:10 +0000 (17:50 +0900)]
inputMethod: Try to connect require-surrounding-text signal

require-surrounding-text signal has been added since IBus 1.5.28.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6405
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2668>

3 years agoUpdated spanish translation
Daniel Mustieles [Tue, 8 Aug 2023 08:48:32 +0000 (10:48 +0200)]
Updated spanish translation

3 years agoUpdate Galician translation
Fran Dieguez [Tue, 8 Aug 2023 00:14:17 +0000 (00:14 +0000)]
Update Galician translation

3 years agopadOsd: Simplify continuation of edition into further ring/strip directions
Carlos Garnacho [Tue, 16 May 2023 16:11:45 +0000 (18:11 +0200)]
padOsd: Simplify continuation of edition into further ring/strip directions

Inline the checks, so that we call stopEdition() from a single place.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2766>

3 years agopadOsd: Use per-direction labels on ring/strip actions
Carlos Garnacho [Tue, 16 May 2023 16:06:40 +0000 (18:06 +0200)]
padOsd: Use per-direction labels on ring/strip actions

Rely on new Mutter API in order to separate mapping/labeling of buttons
and rings/strips, so that the latter may have per-direction labels.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6631
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2766>

3 years agoUpdate Belarusian translation
Vasil Pupkin [Mon, 7 Aug 2023 20:27:39 +0000 (20:27 +0000)]
Update Belarusian translation

3 years agodocs: Use ESM in HACKING guide
Florian Müllner [Mon, 7 Aug 2023 15:05:46 +0000 (17:05 +0200)]
docs: Use ESM in HACKING guide

We now use standard ES modules for imports instead of gjs' legacy
system. The documentation should reflect that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2868>

3 years agojs: Port dbusUtils to ESM
Florian Müllner [Mon, 7 Aug 2023 15:13:48 +0000 (17:13 +0200)]
js: Port dbusUtils to ESM

The module is shared between the various D-Bus services and the
main gnome-shell process, so it was originally left out to allow
porting different bits at their own speed.

Now that everything has been ported to ESM, there is no reason
to not move that particular module as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2868>

3 years agoextensions-app: Port config to ESM
Florian Müllner [Mon, 7 Aug 2023 15:18:13 +0000 (17:18 +0200)]
extensions-app: Port config to ESM

The app uses a different Config module than the rest of the code
base, so we can port it separately.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2868>

3 years agoportalHelper: Fix import
Florian Müllner [Mon, 7 Aug 2023 15:31:17 +0000 (17:31 +0200)]
portalHelper: Fix import

fileutils.js is in a different directory than the main entry point.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2868>

3 years agoUpdate Romanian translation
Florentina Musat [Mon, 7 Aug 2023 16:05:06 +0000 (16:05 +0000)]
Update Romanian translation

3 years agoUpdate Finnish translation
Jiri Grönroos [Mon, 7 Aug 2023 15:51:40 +0000 (15:51 +0000)]
Update Finnish translation

3 years agopolkitAgent: Fix misc import path
Sebastian Keller [Sun, 6 Aug 2023 17:51:17 +0000 (19:51 +0200)]
polkitAgent: Fix misc import path

This was causing the importing of the component to get stuck, meaning it
would not get enabled.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2864>

3 years agokeyring: Fix misc import path
Sebastian Keller [Sun, 6 Aug 2023 17:50:55 +0000 (19:50 +0200)]
keyring: Fix misc import path

This was causing the importing of the component to get stuck, meaning it
would not get enabled.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2864>

3 years agoUpdate Czech translation
Daniel Rusek [Sun, 6 Aug 2023 15:14:40 +0000 (15:14 +0000)]
Update Czech translation

3 years agojs: Port to modules
Evan Welsh [Mon, 10 Jul 2023 09:53:00 +0000 (02:53 -0700)]
js: Port to modules

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1499>

3 years agocomponents: Change component loading to be asynchronous
Evan Welsh [Mon, 10 Jul 2023 09:34:17 +0000 (02:34 -0700)]
components: Change component loading to be asynchronous

Some components use build time optional dependencies such as
GNOME Bluetooth, so we need to import the components
conditionally.

Also rename to get rid of __init__.js file

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1499>

3 years agoextensions: Port templates to ESM
Evan Welsh [Thu, 8 Jun 2023 04:05:58 +0000 (21:05 -0700)]
extensions: Port templates to ESM

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1499>

3 years agoextensions: Port app to ESM
Evan Welsh [Sun, 30 Jul 2023 08:36:56 +0000 (11:36 +0300)]
extensions: Port app to ESM

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1499>

3 years agolistModes: Port listModes command to ES module
Evan Welsh [Thu, 8 Jun 2023 05:13:24 +0000 (22:13 -0700)]
listModes: Port listModes command to ES module

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1499>

3 years agojs: Remove unused GDM utility functions
Evan Welsh [Thu, 8 Jun 2023 06:45:38 +0000 (23:45 -0700)]
js: Remove unused GDM utility functions

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1499>

3 years agodocs: Update miscellaneous in-code documentation for modules
Evan Welsh [Thu, 8 Jun 2023 06:22:00 +0000 (23:22 -0700)]
docs: Update miscellaneous in-code documentation for modules

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1499>

3 years agojs: Add JSDoc to exported functions and fix incorrect JSDoc formatting
Evan Welsh [Sun, 30 Jul 2023 12:56:59 +0000 (15:56 +0300)]
js: Add JSDoc to exported functions and fix incorrect JSDoc formatting

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1499>

3 years agolint: Only require jsdoc for exported functions
Evan Welsh [Sun, 30 Jul 2023 08:33:14 +0000 (11:33 +0300)]
lint: Only require jsdoc for exported functions

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1499>

3 years agostatus/backlight: Sync checked on level changes
Florian Müllner [Sat, 5 Aug 2023 19:12:55 +0000 (21:12 +0200)]
status/backlight: Sync checked on level changes

Since switching to property bindings/notifications, value changes
only happen on actual changes, so we cannot rely on them as the sole
source of updating the checked state.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2862>

3 years agostatus/backlight: Update icon assets
Florian Müllner [Sat, 5 Aug 2023 10:26:42 +0000 (12:26 +0200)]
status/backlight: Update icon assets

… following design review.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6875

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2861>

3 years agomain: Correct the pointer value of strtab on riscv/mips architectures
Daniel van Vugt [Thu, 23 Mar 2023 09:51:46 +0000 (17:51 +0800)]
main: Correct the pointer value of strtab on riscv/mips architectures

Glibc defines `d_ptr`/`d_val` to be a relocated address on most
architectures, except for riscv and mips where it is just an offset from
the binary load address. So we need to convert `strtab` from an offset
into a pointer for riscv and mips.

Internally within glibc there is the `D_PTR` macro for doing this, which
relies on private data hidden in an ABI-unstable part of `link_map`. So
we can't use the same conditional logic as glibc does internally.

Our solution is to detect when `strtab` is unreasonably low (below the
address of our binary) and so it must be an unrelocated offset. In that
case we just do the relocation manually.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6528
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2718>

3 years agost/focus-manager: Use ClutterEvent getter methods in StFocusManager
Carlos Garnacho [Fri, 4 Aug 2023 12:24:18 +0000 (14:24 +0200)]
st/focus-manager: Use ClutterEvent getter methods in StFocusManager

Also make StFocusManager keep track of the ClutterStage it is relative
to, in order to avoid the ClutterStage event getter that is going away.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2860>

3 years agost/widget: Use ClutterEvent getter methods in StWidget
Carlos Garnacho [Fri, 4 Aug 2023 12:24:00 +0000 (14:24 +0200)]
st/widget: Use ClutterEvent getter methods in StWidget

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2860>

3 years agost/scroll-view: Use ClutterEvent getter methods
Carlos Garnacho [Fri, 4 Aug 2023 12:23:38 +0000 (14:23 +0200)]
st/scroll-view: Use ClutterEvent getter methods

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2860>

3 years agost/scroll-bar: Use ClutterEvent getter methods
Carlos Garnacho [Fri, 4 Aug 2023 12:23:09 +0000 (14:23 +0200)]
st/scroll-bar: Use ClutterEvent getter methods

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2860>

3 years agost/entry: Use ClutterEvent getter methods
Carlos Garnacho [Fri, 4 Aug 2023 12:22:43 +0000 (14:22 +0200)]
st/entry: Use ClutterEvent getter methods

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2860>

3 years agost/button: Use ClutterEvent getter methods
Carlos Garnacho [Fri, 4 Aug 2023 12:22:17 +0000 (14:22 +0200)]
st/button: Use ClutterEvent getter methods

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2860>

3 years agoinjectionManager: Support overriding vfuncs
Florian Müllner [Sat, 22 Jul 2023 16:44:08 +0000 (18:44 +0200)]
injectionManager: Support overriding vfuncs

Overriding vfuncs can be useful, in particular when we convert
to ES modules, and exported symbols cannot easily be swapped out.

Adapt overrideMethod() to work correctly in that case as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2809>

3 years agoextensionUtils: Add InjectionManager
Florian Müllner [Fri, 23 Jun 2023 17:53:05 +0000 (19:53 +0200)]
extensionUtils: Add InjectionManager

It is fairly common for extensions to monkey-patch existing
classes. Add a small helper class that makes this a tad bit
more convenient.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2809>

3 years agostatus/backlight: Notify slider value changes
Florian Müllner [Wed, 2 Aug 2023 16:09:46 +0000 (18:09 +0200)]
status/backlight: Notify slider value changes

The custom setter used by the slider item isn't emitting change
notifications, so the property binding that uses it as source
never propagates the new value.

Fix this by emitting proper change notifications.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2856>

3 years agoUpdate Portuguese translation
Hugo Carvalho [Fri, 4 Aug 2023 15:49:07 +0000 (15:49 +0000)]
Update Portuguese translation

3 years agoUpdate Russian translation
Artur So [Thu, 3 Aug 2023 16:00:17 +0000 (16:00 +0000)]
Update Russian translation

3 years agoUpdate Chinese (China) translation
Boyuan Yang [Wed, 2 Aug 2023 20:12:54 +0000 (20:12 +0000)]
Update Chinese (China) translation

3 years agoUpdate Chinese (China) translation
Boyuan Yang [Wed, 2 Aug 2023 20:10:51 +0000 (20:10 +0000)]
Update Chinese (China) translation

3 years agostyle: Fix colored indicators lacking style in the overview
Sam Hewitt [Mon, 31 Jul 2023 13:31:40 +0000 (11:01 -0230)]
style: Fix colored indicators lacking style in the overview

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2823>

3 years agostyle: Remove important override on button insensitive style
Sam Hewitt [Wed, 19 Jul 2023 13:01:09 +0000 (10:31 -0230)]
style: Remove important override on button insensitive style

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2823>

3 years agostyle: Fix mismatched border radius on notifications
Sam Hewitt [Tue, 18 Jul 2023 13:31:02 +0000 (11:01 -0230)]
style: Fix mismatched border radius on notifications

- fixes #6801

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2823>

3 years agostyle: Fix border on quick settings button
Sam Hewitt [Tue, 18 Jul 2023 13:10:44 +0000 (10:40 -0230)]
style: Fix border on quick settings button

- fixes #6832

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2823>

3 years agostyle: Change lg border radius so it doesn't look cut off in Overview
Sam Hewitt [Tue, 18 Jul 2023 13:04:05 +0000 (10:34 -0230)]
style: Change lg border radius so it doesn't look cut off in Overview

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2823>

3 years agostyle: Fix osd elements not being dark in light theme
Sam Hewitt [Tue, 18 Jul 2023 13:00:50 +0000 (10:30 -0230)]
style: Fix osd elements not being dark in light theme

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2823>

3 years agostyle: Fix focus border color on system entries
Sam Hewitt [Wed, 5 Jul 2023 16:47:57 +0000 (14:17 -0230)]
style: Fix focus border color on system entries

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2823>

3 years agostyle: Fix incorrect light scheme color issues in app folder and screenshot ui
Sam Hewitt [Wed, 5 Jul 2023 16:43:39 +0000 (14:13 -0230)]
style: Fix incorrect light scheme color issues in app folder and screenshot ui

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2823>

3 years agopanel: Fix drawing functions for light theme
Sam Hewitt [Wed, 5 Jul 2023 15:00:14 +0000 (12:30 -0230)]
panel: Fix drawing functions for light theme

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2823>

3 years agoBump mutter image
Florian Müllner [Wed, 2 Aug 2023 12:20:22 +0000 (14:20 +0200)]
Bump mutter image

Pull in tecla and pipewire fixes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2855>

3 years agopopupMenu: Hide ornament by default
Florian Müllner [Thu, 13 Jul 2023 17:04:20 +0000 (19:04 +0200)]
popupMenu: Hide ornament by default

We have always defaults to an empty ornament, so that menu items
are always aligned, even when radio items are used.

However radio items are fairly rare, so most of the time we end
up with an extra margin with no purpose. The design team now
prefers radio items to only align with each other, so that regular
items get the expected margin.

Change the defaults accordingly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2843>

3 years agopopupMenu: Never add ornament padding to image items
Florian Müllner [Tue, 1 Aug 2023 16:13:10 +0000 (19:13 +0300)]
popupMenu: Never add ornament padding to image items

PopupImageMenuItem moves the ornament after the label, so we don't
need the additional padding that accounts for visible ornaments
for regular items.

Spotted by Sebastian Keller.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2843>

3 years agopopupMenu: Use correct padding for items with hidden ornaments
Sebastian Keller [Wed, 17 May 2023 20:49:34 +0000 (22:49 +0200)]
popupMenu: Use correct padding for items with hidden ornaments

This also restores the padding adjustments that were erroneously removed
in a0fde0ee, but now they only apply to ornamented items.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2843>

3 years agostatus/network: Only show ornament in radio-mode
Florian Müllner [Thu, 13 Jul 2023 17:03:08 +0000 (19:03 +0200)]
status/network: Only show ornament in radio-mode

Soon only radio items should use a visible ornament, to avoid
unnecessary extra margins in regular items.

Network items can act as both radio- and regular items, so
update the ornament accordingly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2843>

3 years agostatus/keyboard: Explicitly initialize ornament
Florian Müllner [Thu, 13 Jul 2023 16:50:30 +0000 (18:50 +0200)]
status/keyboard: Explicitly initialize ornament

Layout items use the ornament to indicate the active layout, so
their ornament should always be NONE or DOT.

The default is about to change to HIDDEN, so explicitly initialize
the ornament to NONE to keep the current radio item appearance.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2843>

3 years agostyle: Stop overriding ornament
Florian Müllner [Thu, 13 Jul 2023 17:09:05 +0000 (19:09 +0200)]
style: Stop overriding ornament

Hiding elements that are supposed to be visible from the stylesheet
is confusing, don't do that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2843>

3 years agopanel: Use privacy_indicator_color
robert.mader@collabora.com [Sat, 29 Jul 2023 13:58:39 +0000 (16:58 +0300)]
panel: Use privacy_indicator_color

For privacy indicators and screen sharing. For the later also remove
the transparentize so it becomes more similar to the screen recording
indicator.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2852>

3 years agoUpdate Hebrew translation
Yosef Or Boczko [Mon, 31 Jul 2023 06:34:34 +0000 (06:34 +0000)]
Update Hebrew translation

3 years agoUpdate Georgian translation
Ekaterine Papava [Mon, 31 Jul 2023 03:56:05 +0000 (03:56 +0000)]
Update Georgian translation

3 years agoUpdate Persian translation
Danial Behzadi [Sun, 30 Jul 2023 21:57:07 +0000 (21:57 +0000)]
Update Persian translation

3 years agoUpdate Persian translation
Danial Behzadi [Sun, 30 Jul 2023 21:52:08 +0000 (21:52 +0000)]
Update Persian translation

3 years agoUpdate Hungarian translation
Balázs Úr [Sun, 30 Jul 2023 20:54:19 +0000 (20:54 +0000)]
Update Hungarian translation

3 years agoUpdate Ukrainian translation
Yuri Chornoivan [Sun, 30 Jul 2023 17:32:33 +0000 (17:32 +0000)]
Update Ukrainian translation

3 years agoshell/camera-monitor: Tweak indicator disable timeout
robert.mader@collabora.com [Sat, 29 Jul 2023 16:11:14 +0000 (19:11 +0300)]
shell/camera-monitor: Tweak indicator disable timeout

We currently consider idle nodes as in use to avoid too fast state
changes and thus flickering of the indicator icon. However, the current
idle timeout is rather long and arguably confusing for users.

Thus switch to only consider running nodes as in use, but delay
disabling of the indicator by 500ms.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2854>

3 years agostatus/backlight: Add new quick toggle
Florian Müllner [Tue, 13 Jun 2023 19:36:20 +0000 (21:36 +0200)]
status/backlight: Add new quick toggle

Settings no longer exposes a slider for the keyboard brightness,
leaving keyboard shortcuts as the only way of adjusting it.

This is good enough in most cases, because devices with keyboard
backlight usually include corresponding keys on their keyboard.

However for devices without those keys, it would be good for the
settings to be exposed somewhere again. Quick settings seems like
a more appropriate place than "proper" Settings, since it gives
quick access that doesn't require a major focus change.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6765

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2820>

3 years agoextensions: Make ExtensionPreferences more flexible
Florian Müllner [Mon, 10 Jul 2023 03:53:45 +0000 (05:53 +0200)]
extensions: Make ExtensionPreferences more flexible

Extensions must now export a class with a fillPreferencesWindow()
method in their prefs. That is less convenient for extensions
with simple preferences than the old buildPrefsWidget() hook, as
they must wrap their widget in page/group widgets.

Address this by adding a default fillPreferencesWindow() implementation
that calls a getPreferencesWidget() method and wraps it as necessary.

This is flexible enough to support different cases fairly conveniently,
from simple single-widget prefs over tweaking the window to complex
multi-page prefs:

```js
class SimplePreferences extends ExtensionPreferences {
    getPreferencesWidget() {
        return new SimplePrefsWidget();
    }
}

class TinkerPreferences extends ExtensionPreferences {
    getPreferencesWidget() {
        return new SimplePrefsWidget();
    }

    fillPreferencesWindow(window) {
        super.fillPreferencesWindow(window);

        window.set_default_size(123, 456);
    }
}

class FullPreferences extends ExtensionPreferences {
    fillPreferencesWindow(window) {
        const page1 = new GeneralPage();
        window.add(page1);

        const page2 = new FoobarPage();
        window.add(page2);
    }
}
```

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2838>

3 years agoextensionBase: Set up translations automatically
Florian Müllner [Mon, 10 Jul 2023 03:56:34 +0000 (05:56 +0200)]
extensionBase: Set up translations automatically

If an extension provides the gettext domain in its metadata,
then we can simply set up translations from the constructor,
so do that for a bit more convenience.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2838>

3 years agoextensionBase: Stop injecting extensionManager
Florian Müllner [Mon, 10 Jul 2023 04:04:07 +0000 (06:04 +0200)]
extensionBase: Stop injecting extensionManager

All extension lookups now happen through the dedicated
Extension/ExtensionPreferences classes, so the shared
code no longer has to access the extensionManager.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2838>

3 years agoextensions: Add static lookupByUUID() method
Florian Müllner [Mon, 10 Jul 2023 08:33:31 +0000 (10:33 +0200)]
extensions: Add static lookupByUUID() method

This allows the Extension/Preferences classes to provide
the UUID -> extension lookup without exposing the underlying
extension manager.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2838>

3 years agoextensions: Replace exported gettext functions
Florian Müllner [Sun, 16 Jul 2023 23:13:06 +0000 (01:13 +0200)]
extensions: Replace exported gettext functions

Use the new defineTranslationFunctions() method from the previous
commit to create gettext functions for the module, instead of
re-exporting from the shared module.

It is now up to extension developers to use the more effective

```js
import {Extension} from 'etensions/extension.js';
const {gettext: _} =
    Extension.defineTranslationFunctions(import.meta.url);
```

or the more convenient

```js
import {Extension, gettext} from 'extensions/extension.js';
const _ = gettext;
```

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2838>

3 years agoextensions: Add static defineTranslationFunctions() method
Florian Müllner [Mon, 10 Jul 2023 05:06:17 +0000 (07:06 +0200)]
extensions: Add static defineTranslationFunctions() method

The method can be used to define a set of gettext functions that
call the corresponding method of an extension.

Those functions are very similar to the gettext functions we are
exporting, except that:

 - looking up the extension is delegated to the
   Extension/Preferences class
 - it is possible to avoid examining the stack
   when called with `import.meta.url`

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2838>